import { defineStore } from 'pinia'
import { getToken, getUserInfo, clearAuthStorage } from './helpers'

interface AuthState {
	/** 用户信息 */
	userInfo: Auth.UserInfo
	/** 用户token */
	token: string
}

export const useAuthStore = defineStore({
	id: 'auth-store', // id: 必须的，在所有 Store 中唯一
	state: (): AuthState => ({
		userInfo: getUserInfo(),
		token: getToken(),
	}),
	getters: {},
	actions: {
		/** 重置auth状态 */
		resetAuthStore() {
			clearAuthStorage()
		},
	},
})
